package org.suwenqian.airoleplayingchatbackend.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 语音交互记录实体类，对应数据库中的语音交互记录表。
 * 包含语音交互的基本信息，如记录ID、消息ID、音频时长等。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@TableName("voice_interaction")
public class VoiceInteractionDO {
    /**
     * 记录ID，主键，自增。
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 消息ID，外键关联message表，不能为空。
     */
    private Long messageId;

    /**
     * 音频时长（秒），可选。
     */
    private Integer audioDuration;

    /**
     * 音频格式（如：mp3, wav），可选。
     */
    private String audioFormat;

    /**
     * 语音识别（ASR）置信度，可选。
     */
    private Float asrConfidence;

    /**
     * TTS合成使用的音色，可选。
     */
    private String ttsSpeaker;

    /**
     * 创建时间，默认值为当前时间戳。
     */
    private LocalDateTime createdAt;

}
